条件判断
① 基本语法
[ condition ]
注意:
- condition前后要有空格
- 条件非空即为true,[ atguigu ]返回true,[] 返回false
② 常用判断条件
a) 两个整数之间比较
参数 | 说明 | 参数 | 说明 |
---|---|---|---|
-lt | 小于(less than) | -le | 小于等于(less equal) |
-eq | 等于(equal) | -gt | 大于(greater than) |
-ge | 大于等于(greater equal) | -ne | 不等于(Not equal) |
b) 按照文件权限进行判断
参数 | 说明 | 参数 | 说明 |
---|---|---|---|
-r | 有读的权限(read) | -w | 有写的权限(write) |
-x | 有执行的权限(execute) |
c) 按照文件类型进行判断
参数 | 说明 |
---|---|
-f | 文件存在并且是一个常规的文件(file) |
-e | 文件存在(existence) |
-d | 文件存在并是一个目录(directory) |
$ [ 23 -ge 22 ]
$ echo $? # 输出 0
$ [ -w hello.sh ]
$ echo $? # 输出 0
$ [ -e /home/cls.txt ]
$ echo $? # 输出 0
d) 多条件判断
&& 表示前一条命令执行成功时,才执行后一条命令,|| 表示上一条命令执行失败后,才执行下一条命令
$ [ condition ] && echo OK || echo notok
OK
$ [ condition ] && [ ] || echo notok
notok